
#ifndef DRAGSCROLL_EVENT_H
#define DRAGSCROLL_EVENT_H

#include <wx/event.h>
class cbPlugin;
	enum {

	    idDragScrollAddWindow = 1,
	    idDragScrollRemoveWindow,
	    idDragScrollRescan,
	    idDragScrollReadConfig,
	    idDragScrollInvokeConfig
	};
// ----------------------------------------------------------------------------
class sDragScrollEvent : public wxCommandEvent
// ----------------------------------------------------------------------------
{
public:
	
	sDragScrollEvent(wxEventType commandType = wxEVT_NULL, int id = 0);

	
	sDragScrollEvent( const sDragScrollEvent& event);

	
	~sDragScrollEvent();


	virtual wxEvent* Clone() const { return new sDragScrollEvent(*this);}






	wxString  GetEventTypeLabel() const {return m_EventTypeLabel;}

    bool      PostDragScrollEvent(const cbPlugin* targetWin);
    bool      ProcessDragScrollEvent(const cbPlugin* targetWin);

private:


	wxString   m_EventTypeLabel;

	DECLARE_DYNAMIC_CLASS(sDragScrollEvent);
};

typedef void (wxEvtHandler::*sDragScrollEventFunction)(sDragScrollEvent&);

extern const wxEventType wxEVT_S_DRAGSCROLL_EVENT;
#define EVT_S_DRAGSCROLL_EVENT(id, fn) \
	DECLARE_EVENT_TABLE_ENTRY(wxEVT_S_DRAGSCROLL_EVENT, id, -1, \
	(wxObjectEventFunction)(wxEventFunction) (sDragScrollEventFunction) & fn,(wxObject *) NULL ),

#endif 

